The present invention relates to data storage, and more particularly, to decoding data from multitrack linear magnetic tape that is encoded with three orthogonal codewords.
The smallest unit of appending or overwriting data onto linear magnetic tape is referred to as a Data Set. Data sets in tape storage are currently 3 MB-6 MB. Data sets consist of 32 to 64 Sub Data Sets (SDS) in current tape technology where each SDS consists of N2 rows, where N2 is equivalent to a C2 codeword length. An encoded SDS is formed from four column-interleaved product codewords (PCW).
In modern mass data storage systems, such as magnetic tape storage devices, data which is written on linear magnetic tape is protected by one or more error correction codes (ECCs). For data correction, data which is read from the tape is conceptually arranged into a large two dimensional array or matrix and is protected by two error correcting codes that are arranged orthogonal to one another, referred to typically as C1 code and C2 code. The large data array may be a SDS, include a portion of a SDS, or include more than a single SDS. The C1 code is used to correct the rows of the data array and the C2 code is used to correct the columns of the data array. Furthermore, data is divided into multiple byte-interleaved C1 codewords and dispersed across each row, referred to as a codeword interleave (CWI). This error correction methodology is very powerful.
However, there is a need for improving the protection of data sets to reduce online and offline error rates. When a data set is unable to be decoded, failure to decode only a single SDS in a data set is often observed as the issue which caused the data set to be unable to be decoded. Therefore, a small increase in redundancy might be able to avoid failures to decode a data set due to single SDS decoding failures, but no such improvement is currently available.